﻿using System;
using System.Reflection;

namespace Dotnet.Utils.Utility.Dependency.Castle
{
    public static class DependencyHelper
    {
        public static void Init(Assembly[] assemblies)
        {
            foreach (Assembly assembly in assemblies)
            {
                IocManager.Instance.RegisterAssembly(assembly);
            }
        }
    }

    public enum DependencyLifeStyle
    {
        Singleton,
        Transient
    }

    public interface ISingletonDependency
    { }

    public interface ITransientDependency
    { }

    public interface IIocManager : IIocRegistrar, IIocResolver
    { }

    public interface IIocResolver
    {
        T Resolve<T>();

        object Resolve(Type type);
    }
}